#ifndef NEOSCROLLBAR_H
#define NEOSCROLLBAR_H

#include "stdafx.h"
#include <QScrollBar>

class QAbstractScrollArea;
class NeoScrollBarPrivate;
class NeoScrollBar : public QScrollBar
{
    Q_OBJECT
    NEO_PUBLIC_CREATE(NeoScrollBar)
    NEO_PUBLIC_PROPERTY_CREATE_H(int, Extent)
    NEO_PUBLIC_PROPERTY_CREATE_H(int, ScrollSpeed)
    NEO_PUBLIC_PROPERTY_CREATE_H(int, WheelSpeed)
public:
    NeoScrollBar(QWidget *parent = nullptr);
    NeoScrollBar(Qt::Orientation orientation, QWidget *parent = nullptr);
    NeoScrollBar(QAbstractScrollArea *parent, Qt::Orientation orientation);
    ~NeoScrollBar();

    void setAnimationValue(int value);

protected:
    bool eventFilter(QObject *watched, QEvent *event) override;
};

#endif